import 'package:flutter/widgets.dart';
import 'shake_constant.dart';

class ShakeDefaultConstant1 implements ShakeConstant {
  @override
  List<int> get interval => [2];

  @override
  List<double> get opacity => const [];

  @override
  List<double> get rotate => const [
        0,
        -0.5,
        1.5,
        0.5,
        0.5,
        1.5,
        0.5,
        -0.5,
        0.5,
        1.5,
        0.5,
        1.5,
        0.5,
        -0.5,
        -0.5,
        -0.5,
        1.5,
        0.5,
        0.5,
        0.5,
        1.5,
        0.5,
        -0.5,
        1.5,
        0.5,
        1.5,
        1.5,
        0.5,
        0.5,
        0.5,
        -0.5,
        1.5,
        -0.5,
        -0.5,
        1.5,
        -0.5,
        -0.5,
        -0.5,
        0.5,
        1.5,
        0.5,
        1.5,
        1.5,
        0.5,
        -0.5,
        0.5,
        0.5,
        1.5,
        1.5,
        0.5,
        0
      ];

  @override
  List<Offset> get translate => const [
        Offset(0, 0),
        Offset(0.5, -0.5),
        Offset(-0.5, -0.5),
        Offset(-1.5, -0.5),
        Offset(-1.5, -1.5),
        Offset(2.5, -1.5),
        Offset(0.5, 1.5),
        Offset(1.5, 0.5),
        Offset(0.5, -0.5),
        Offset(2.5, -0.5),
        Offset(1.5, -0.5),
        Offset(0.5, 1.5),
        Offset(2.5, -0.5),
        Offset(-1.5, 2.5),
        Offset(0.5, -1.5),
        Offset(0.5, -0.5),
        Offset(2.5, 1.5),
        Offset(-0.5, -1.5),
        Offset(-0.5, 1.5),
        Offset(0.5, -0.5),
        Offset(2.5, 1.5),
        Offset(-0.5, 1.5),
        Offset(-0.5, -0.5),
        Offset(-1.5, -0.5),
        Offset(0.5, 2.5),
        Offset(0.5, 0.5),
        Offset(-0.5, -1.5),
        Offset(2.5, 0.5),
        Offset(2.5, 2.5),
        Offset(0.5, -1.5),
        Offset(-0.5, 1.5),
        Offset(-0.5, 0.5),
        Offset(0.5, -0.5),
        Offset(1.5, 2.5),
        Offset(0.5, -0.5),
        Offset(-0.5, 2.5),
        Offset(1.5, -1.5),
        Offset(1.5, 2.5),
        Offset(-0.5, -0.5),
        Offset(-0.5, 0.5),
        Offset(2.5, 2.5),
        Offset(1.5, 0.5),
        Offset(1.5, -1.5),
        Offset(2.5, 1.5),
        Offset(2.5, 2.5),
        Offset(-1.5, -1.5),
        Offset(0.5, -1.5),
        Offset(0.5, -0.5),
        Offset(-0.5, 0.5),
        Offset(0.5, -1.5),
        Offset(0, 0)
      ];
  @override
  Duration get duration => const Duration(milliseconds: 100);
}

class ShakeDefaultConstant2 implements ShakeConstant {
  @override
  List<int> get interval => [2];

  @override
  List<double> get opacity => const [];

  @override
  List<double> get rotate => const [
        0,
        1.5,
        -0.5,
        1.5,
        1.5,
        0.5,
        -0.5,
        1.5,
        1.5,
        0.5,
        0.5,
        1.5,
        -0.5,
        0.5,
        0.5,
        1.5,
        0.5,
        0.5,
        -0.5,
        -0.5,
        0.5,
        1.5,
        1.5,
        0.5,
        -0.5,
        -0.5,
        -0.5,
        0.5,
        -0.5,
        1.5,
        -0.5,
        -0.5,
        1.5,
        1.5,
        1.5,
        1.5,
        0.5,
        1.5,
        0.5,
        1.5,
        -0.5,
        -0.5,
        -0.5,
        0.5,
        0.5,
        0.5,
        -0.5,
        1.5,
        0.5,
        -0.5,
        0
      ];

  @override
  List<Offset> get translate => const [
        Offset(0, 0),
        Offset(-1.5, -0.5),
        Offset(2.5, 0.5),
        Offset(1.5, 1.5),
        Offset(1.5, 0.5),
        Offset(-0.5, -0.5),
        Offset(-1.5, -1.5),
        Offset(2.5, 1.5),
        Offset(-0.5, -0.5),
        Offset(-1.5, -0.5),
        Offset(-0.5, 1.5),
        Offset(2.5, 2.5),
        Offset(-0.5, 1.5),
        Offset(0.5, -0.5),
        Offset(1.5, 0.5),
        Offset(1.5, 2.5),
        Offset(-1.5, -0.5),
        Offset(0.5, 1.5),
        Offset(-1.5, 0.5),
        Offset(1.5, -0.5),
        Offset(2.5, -0.5),
        Offset(2.5, 1.5),
        Offset(0.5, 1.5),
        Offset(0.5, 1.5),
        Offset(-1.5, -1.5),
        Offset(-0.5, -0.5),
        Offset(-1.5, -0.5),
        Offset(1.5, 1.5),
        Offset(0.5, -1.5),
        Offset(-0.5, 2.5),
        Offset(2.5, 1.5),
        Offset(2.5, -1.5),
        Offset(-0.5, 2.5),
        Offset(1.5, -0.5),
        Offset(0.5, -1.5),
        Offset(0.5, -0.5),
        Offset(2.5, -0.5),
        Offset(-0.5, 2.5),
        Offset(1.5, -0.5),
        Offset(2.5, -0.5),
        Offset(1.5, 2.5),
        Offset(-1.5, 0.5),
        Offset(0.5, -0.5),
        Offset(-1.5, 0.5),
        Offset(2.5, 0.5),
        Offset(1.5, 2.5),
        Offset(-1.5, 1.5),
        Offset(-0.5, 2.5),
        Offset(1.5, 0.5),
        Offset(1.5, -0.5),
        Offset(0, 0)
      ];

  @override
  Duration get duration => const Duration(milliseconds: 100);
}
